var fs=require('fs');
var events =require('events');
var http = require('http');
var path=require('path');
var EventEmitter=new events.EventEmitter();
var mimeModel=require('./model/getmimeEvents.js');








http.createServer(function(req,res){
    var pathname = req.url;
    if (pathname == '/') {
        pathname = '/index.html'; /*默认加载的首页*/
    }

    console.log('url为:'+pathname);
    //获取文件的后缀名
    var extname=path.extname(pathname);
    if (pathname != '/favicon.ico') { /*过滤请求favicon.ico*/
        fs.readFile('./06nodejs回调和事件驱动/static/'+pathname,function(err,data){
            if(err){
                console.log('404');
                fs.readFile('./06nodejs回调和事件驱动/static/404.html',function(err404,data404){
                    if(err404){
						console.log(err404);
					}
					res.writeHead(404,{"Content-Type":"text/html;charset=utf-8"});
					res.write(data404);
					res.end(); /*结束响应*/
                });
            }else{
                mimeModel.getMime(fs,EventEmitter,extname);  /*获取文件类型*/
                EventEmitter.on('to_mime',function(mime){
                    console.log('mime是'+mime);
                    res.writeHead(200,{"Content-Type":`${mime};charset=utf-8`});
                   // res.write(data);
                    res.end(data);
                });
            }
        })
    }
}).listen(8012)

/*使用箭头函数跟function这种方式结果还不一样
使用箭头的函数的时候，有些请求是js文件但是请求头的Content-Type竟然为css。这是错误的，但是使用function就不会有这种情况，目前还未找到什么原因

*/